# -*- encoding:utf-8 -*-
# __author__ = 'chenyongbing'
# __poject__ = 'ops_platform'
# __datetime__ = '2022/6/13'
# __name__ = 'celery.py'

# Create your code here.
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
from celery.schedules import crontab
from django.conf import settings
# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ops_platform.settings')

app = Celery('ops_platform', broker=settings.CELERY_BROKER_URL, backend=settings.CELERY_BACKEND_URL)

# Using a string here means the worker doesn't have to serialize
# the configuration object to child processes.
# - namespace='CELERY' means all celery-related configuration keys
#   should have a `CELERY_` prefix.
app.config_from_object('django.conf:settings', namespace='CELERY')


app.conf.beat_schedule ={
        'gitlab_commit_history':{
            'task':'apps.eff.tasks.gitlab_commit_history',
            'schedule':crontab(hour=1,minute=00),
            'args': [['T1', 'dev'], 10]
        },
        # 'gitlab_commit_stat_by_user': {
        #     'task': 'apps.eff.tasks.gitlab_commit_stat_by_user',
        #     'schedule': crontab(hour=1, minute=30)
        # }
}




# Load task modules from all registered Django app configs.
app.autodiscover_tasks()


@app.task(bind=True)
def debug_task(self):
    print('Request: {0!r}'.format(self.request))


